package com.link.base.base.appinfo.dao.mybatis.mapper;

import com.link.base.base.appinfo.model.AppVersion;
import com.link.core.basic.dao.mapper.BasicMapper;

/**
 * 版本管理
 *
 * @author ouyangzhenqiang
 * @date 2018/10/16
 */
public interface AppVersionMapper extends BasicMapper<AppVersion> {
    /**
     * 基于appType，针对同类应用且发布状态为 “已发布/预发布” 的记录，将其发布状态设置为已过期
     *
     * @author ouyangzhenqiang
     * @param record
     * @throws  Exception
     * @date 2018/10/16
     */
    void batchSetExpiredUpdate(AppVersion record) throws Exception;

    /**
     * 基于rowId，修改版本记录发布状态为已发布
     *
     * @author ouyangzhenqiang
     * @param record
     * @throws  Exception
     * @date 2018/10/16
     */
    void setPublishedUpdate(AppVersion record) throws Exception;

    /**
     * 基于rowId，修改版本记录发布状态为预发布
     *
     * @author ouyangzhenqiang
     * @param record
     * @throws  Exception
     * @date 2018/10/16
     */
    void setPlanPublishUpdate(AppVersion record) throws Exception;
}
